package com.classroom;

import java.util.Arrays;

public class SplitDemo {
    public static void main(String[] args) {
        /**
         * split(String regex)
         * 将这个字符串匹配给定 regular expression的左右。
         */
        String line = "abc123def456hjk";
        String regex = "[0-9]+";
        String[] arrays = line.split(regex);
        System.out.println(Arrays.toString(arrays));


        /**
         * split(String regex, int limit)
         * 将这个字符串匹配给定 regular expression的左右。
         */
        String str = "abc==bcd=uok";
        String[] split = str.split("=");
        System.out.println(Arrays.toString(split));//[abc, , bcd, uok]
        //这里输出的是一个空格


        String str1 = "==abc==bcd=uok";
        String[] split1 = str1.split("=");
        //[, , abc, , bcd, uok]
        System.out.println(Arrays.toString(split1));

        /**
         * 如果是在字符串末尾连续出现可拆分项
         * 那么所有拆分出来的空字符串都会被忽略
         */
        String str2 = "abc==bcd=uok=====";
        String[] split2 = str2.split("=");
        //[abc, , bcd, uok]
        System.out.println(Arrays.toString(split2));

        /**
         * split(String regex, int limit)
         * 将这个字符串匹配给定 regular expression的左右。
         */
        String str3 = "abc==bcd=uok=====";
        String[] split3 = str3.split("=", 2);
        //[abc, =bcd=uok=====]
        System.out.println(Arrays.toString(split3));

        //[abc, , bcd, uok, , , , , ]
        String[] split4 = str3.split("=", 30);
        System.out.println(Arrays.toString(split4));


        /**
         * 如果limit为0，则与默认拆分相同(忽略最后连续拆分出的空字符串
         */
        //[abc, , bcd, uok]
        String[] split5 = str3.split("=", 0);
        System.out.println(Arrays.toString(split5));


        /**
         *
         */
        String[] split6 = str3.split("=", -1);
        System.out.println(Arrays.toString(split6));

    }
}
